/*********************************************************************************************************************
版权所有 (C), 2021,
设计：山亦青
编码：山亦青
版本：V1.0.0.0
完成日期：2021.4.1
说明:
 触摸屏输入框的源文件。
代码级别：u
*********************************************************************************************************************/

#include "LineEdit4TouchScreen.h"
#include <QPainter>

LineEdit4TouchScreen::LineEdit4TouchScreen() :
    m_IsPassword(Bool_false),
    m_Text("")
{ }

Void_t LineEdit4TouchScreen::mouseReleaseEvent(QMouseEvent*)
{
    if (isEnabled())
    {
        emit touched(this);
    }
}

// 是否为密码模式
// 参数1：isPwd，是否密码
Void_t LineEdit4TouchScreen::setEchoMode(Bool_t isPwd)
{
    m_IsPassword = isPwd;
}

// 设置颜色
// 参数1：txtColor，文字颜色
// 参数2：bkgColor，背景颜色
Void_t LineEdit4TouchScreen::setColors(const QColor& txtColor, const QColor& bkgColor)
{
    setAutoFillBackground(Bool_true);
    QPalette pe;
    //设置黑底红字
    pe.setColor(QPalette::WindowText, txtColor);
    pe.setColor(QPalette::Background, bkgColor);
    this->setPalette(pe);
}

Void_t LineEdit4TouchScreen::setText(const QString& txt)
{
    m_Text = txt;
    if (!m_IsPassword)
    {
        QLabel::setText(txt);
        return;
    }

    Int32_t len = txt.length();
    QString pwd = "";
    for (Int32_t i = 0; i < len; ++i)
    {
        pwd += "*";
    }
    QLabel::setText(pwd);
}

Constant QString& LineEdit4TouchScreen::text()
{
    return m_Text;
}

LineEdit4TouchScreen::~LineEdit4TouchScreen()
{ }
